/**
 * // 第一步，引入http模块
const http = require("http");
const url = require("url"); // 引入url模块
var util = require('util'); // 引入util模块
var querystring = require('querystring'); //引入解析post
function start(router) {
    function onRequest(req, res) {
        // 此处require为客户端向服务器请求的数据包
        // respose为服务器向客户端回应的数据包
        // var pathname = url.parse(require.url).pathname; //域名端口后的请求地址
        // console.log("Request for " + pathname + "发送请求的地址");
        // router(pathname); //执行router.js  pathname传入 跳转对应router


        // response.writeHead(200, {"Content-Type": "text/plain;charset=utf-8"}); //写入请求头
        // response.write("Hello World");//写入返回数据

        //git请求

        // res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8'});
        // // 出现[Object: null prototype] 时候转字符串在转json转回来
        // var params = JSON.parse(JSON.stringify(url.parse(req.url, true).query));
        // res.write("网站名：" + params.name);
        // res.write("\n");
        // res.write("网站 URL：" + params.url);
        // res.end();  

        //post请求
        var postHTML =
            '<html><head><meta charset="utf-8"><title>菜鸟教程 Node.js 实例</title></head>' +
            '<body>' +
            '<form method="post">' +
            '网站名： <input name="name"><br>' +
            '网站 URL： <input name="url"><br>' +
            '<input type="submit">' +
            '</form>' +
            '</body></html>';
        var body = ""; //暂存请求体
        // 通过req的data事件监听函数，每当接受到请求体的数据，就累加到post变量中
        req.on('data', function (chunk) {
            body += chunk;
        });
        // 在end事件触发后，通过querystring.parse将post解析为真正的POST请求格式，然后向客户端返回。
        req.on('end', function () {
            // 解析参数
            body = querystring.parse(body);
            // 设置响应头部信息及编码
            res.writeHead(200, { 'Content-Type': 'text/html; charset=utf8' });
            // 判断请求的参数是否符合规范
            if (body.name && body.url) { // 输出提交的数据
                res.write("网站名：" + body.name);
                res.write("<br>");
                res.write("网站 URL：" + body.url);
            } else {  // 输出表单
                res.write(postHTML);
            }
            res.end();
        });
    };
    //第二步，创建服务  // 第三步，启动服务
    http.createServer(onRequest).listen(3000);
    console.log("服务启动成功,请在3000端口进行访问......");
}

exports.start = start;
 */

var express = require('express');
var app = express();
var bodyParser = require('body-parser'); //post引入模块

// 创建 application/x-www-form-urlencoded 编码解析
var urlencodedParser = bodyParser.urlencoded({ extended: false }) //解析


app.use('/static', express.static('public'));
app.get('/', function (req, res) {
    console.log(__dirname)
    res.sendFile(__dirname + '/index.html')
})
// get 
app.get('/get', function (req, res) {
    var return_data = {
        code: 0,
        msg: '',
        data: {
            first_name: req.query.first_name,
            last_name: req.query.last_name,
        }
    }
    console.log(return_data);
    res.end(JSON.stringify(return_data));
})

//post
app.post('/post', urlencodedParser, function (req, res) {
    console.log(req.body.first_name)
    // 输出 JSON 格式
    var return_data = {
            "first_name":req.body.first_name,
            "last_name":req.body.last_name
    }
    console.log(return_data);
    res.end(JSON.stringify(return_data));
})
var server = app.listen(8081, function () {

    var host = server.address().address;
    var port = server.address().port;

    console.log("应用实例，访问地址为 http://%s:%s", host, port)

})